package com.ruoyi.system.domain.zhuangxiumain.shopMain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 *商品信息表
 *赵德健
 * */
@Data
public class ProductInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private String a;
    /** 商品ID */
    private Integer productId;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String productCore;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 国条码 */
    @Excel(name = "国条码")
    private String barCode;

    /** 品牌表的ID */
    @Excel(name = "品牌表的ID")
    private Integer brandId;

    /** 一级分类ID */
    @Excel(name = "一级分类ID")
    private Integer oneCategoryId;

    /** 二级分类ID */
    @Excel(name = "二级分类ID")
    private Integer twoCategoryId;

    /** 三级分类ID */
    @Excel(name = "三级分类ID")
    private Integer threeCategoryId;

    /** 商品的供应商ID */
    @Excel(name = "商品的供应商ID")
    private Integer supplierId;

    /** 商品的分类ID */
    @Excel(name = "商品的分类ID")
    private Integer categoryId;

    /** 商品销售价格 */
    @Excel(name = "商品销售价格")
    private BigDecimal price;

    /** 商品加权平均成本 */
    @Excel(name = "商品加权平均成本")
    private BigDecimal averageCost;

    /** 上下架状态：0下架1上架 */
    @Excel(name = "上下架状态：0下架1上架")
    private String publishStatus;
    private String picUrlAll;

    /** 审核状态：0未审核，1已审核 */
    @Excel(name = "审核状态：0未审核，1已审核")
    private String auditStatus;

    /** 商品重量 */
    @Excel(name = "商品重量")
    private Long weight;

    /** 商品长度 */
    @Excel(name = "商品长度")
    private Long length;
    private String phoneNumber;
    /** 商品高度 */
    @Excel(name = "商品高度")
    private Long height;

    /** 商品宽度 */
    @Excel(name = "商品宽度")
    private Long width;

    /** $column.columnComment */
    @Excel(name = "商品颜色")
    private String colorType;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /** 商品有效期 */
    @Excel(name = "商品有效期")
    private Long shelfLife;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String descript;

    /** 商品录入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "商品录入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date indate;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifiedTime;

    /** 拼团字段 0不 2拼  */
    private String groupType;

    private Integer delFlag;

    private Integer supplierStatus;
    private String shopsName;
    private String supplierName;
    private Integer supplierTypeform;
    private Integer supplierType;
    private String supplierCode;
    private String address;
    private String picUrl;
    private String picUrlAl;
    private String supplierPic;
    private Double balanceMoney;

    public String getSupplierPic() {
        return supplierPic;
    }

    public void setSupplierPic(String supplierPic) {
        this.supplierPic = supplierPic;
    }

    public String getPicUrlAl() {
        return picUrlAl;
    }

    public void setPicUrlAl(String picUrlAl) {
        this.picUrlAl = picUrlAl;
    }

    public String getPicUrl() {
        return picUrl;
    }

    public void setPicUrl(String picUrl) {
        this.picUrl = picUrl;
    }

    /** $column.columnComment */
    @Excel(name = "忘了")
    private Long cornerQuantity;

    /** $column.columnComment */
    @Excel(name = "忘了")
    private String labelName;

    /** $column.columnComment */
    @Excel(name = "忘了")
    private Long salesQuantity;


    @Excel(name = "用户分类名称")
    private String categoryName;

    @Excel(name = "品牌名称")
    private String brandName;

    @Excel(name = "用户ID")
    private Long userId;



    private String categoryType;
    /***
     * 商品库存字段
     * ***/

    @TableId(value = "wp_id",type = IdType.ID_WORKER_STR)
    private long wpId;

private ProductLabel productLabel;
private ProductPicInfo productPicInfo;

    public ProductPicInfo getProductPicInfo() {
        return productPicInfo;
    }

    public void setProductPicInfo(ProductPicInfo productPicInfo) {
        this.productPicInfo = productPicInfo;
    }

    public ProductLabel getProductLabel() {
        return productLabel;
    }

    public void setProductLabel(ProductLabel productLabel) {
        this.productLabel = productLabel;
    }

    @TableField("w_id")
    private long wId;

    @TableField("current_cnt")
    private long currentCnt;

    @TableField("lock_cnt")
    private long lockCnt;

    @TableField("in_transit_cnt")
    private long inTransitCnt;


    //前端传过来的
    private Integer numSupper; // 供应商;
    private Integer numBrand; // 品牌;
    private Integer numCategory; // 分类;

    @Override
    public String toString() {
        return "ProductInfo{" +
                "productId=" + productId +
                ", productCore='" + productCore + '\'' +
                ", productName='" + productName + '\'' +
                ", barCode='" + barCode + '\'' +
                ", brandId=" + brandId +
                ", oneCategoryId=" + oneCategoryId +
                ", twoCategoryId=" + twoCategoryId +
                ", threeCategoryId=" + threeCategoryId +
                ", supplierId=" + supplierId +
                ", categoryId=" + categoryId +
                ", price=" + price +
                ", averageCost=" + averageCost +
                ", publishStatus=" + publishStatus +
                ", auditStatus=" + auditStatus +
                ", weight=" + weight +
                ", length=" + length +
                ", height=" + height +
                ", width=" + width +
                ", colorType='" + colorType + '\'' +
                ", productionDate=" + productionDate +
                ", shelfLife=" + shelfLife +
                ", descript='" + descript + '\'' +
                ", indate=" + indate +
                ", modifiedTime=" + modifiedTime +
                ", delFlag=" + delFlag +
                ", supplierStatus=" + supplierStatus +
                ", shopsName='" + shopsName + '\'' +
                ", supplierName='" + supplierName + '\'' +
                ", supplierTypeform=" + supplierTypeform +
                ", supplierType=" + supplierType +
                ", supplierCode='" + supplierCode + '\'' +
                ", cornerQuantity=" + cornerQuantity +
                ", labelName='" + labelName + '\'' +
                ", salesQuantity=" + salesQuantity +
                ", categoryName='" + categoryName + '\'' +
                ", brandName='" + brandName + '\'' +
                ", userId=" + userId +
                ", categoryType='" + categoryType + '\'' +
                ", wpId=" + wpId +
                ", wId=" + wId +
                ", currentCnt=" + currentCnt +
                ", lockCnt=" + lockCnt +
                ", inTransitCnt=" + inTransitCnt +
                ", numSupper=" + numSupper +
                ", numBrand=" + numBrand +
                ", numCategory=" + numCategory +
                ", address=" + address +
                ", groupType=" + groupType +
                '}';
    }

    public String getGroupType() {
        return groupType;
    }

    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public String getProductCore() {
        return productCore;
    }

    public void setProductCore(String productCore) {
        this.productCore = productCore;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public Integer getOneCategoryId() {
        return oneCategoryId;
    }

    public void setOneCategoryId(Integer oneCategoryId) {
        this.oneCategoryId = oneCategoryId;
    }

    public Integer getTwoCategoryId() {
        return twoCategoryId;
    }

    public void setTwoCategoryId(Integer twoCategoryId) {
        this.twoCategoryId = twoCategoryId;
    }

    public Integer getThreeCategoryId() {
        return threeCategoryId;
    }

    public void setThreeCategoryId(Integer threeCategoryId) {
        this.threeCategoryId = threeCategoryId;
    }

    public Integer getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Integer supplierId) {
        this.supplierId = supplierId;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getAverageCost() {
        return averageCost;
    }

    public void setAverageCost(BigDecimal averageCost) {
        this.averageCost = averageCost;
    }

    public String getPublishStatus() {
        return publishStatus;
    }

    public void setPublishStatus(String publishStatus) {
        this.publishStatus = publishStatus;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Long getWeight() {
        return weight;
    }

    public void setWeight(Long weight) {
        this.weight = weight;
    }

    public Long getLength() {
        return length;
    }

    public void setLength(Long length) {
        this.length = length;
    }

    public Long getHeight() {
        return height;
    }

    public void setHeight(Long height) {
        this.height = height;
    }

    public Long getWidth() {
        return width;
    }

    public void setWidth(Long width) {
        this.width = width;
    }

    public String getColorType() {
        return colorType;
    }

    public void setColorType(String colorType) {
        this.colorType = colorType;
    }

    public Date getProductionDate() {
        return productionDate;
    }

    public void setProductionDate(Date productionDate) {
        this.productionDate = productionDate;
    }

    public Long getShelfLife() {
        return shelfLife;
    }

    public void setShelfLife(Long shelfLife) {
        this.shelfLife = shelfLife;
    }

    public String getDescript() {
        return descript;
    }

    public void setDescript(String descript) {
        this.descript = descript;
    }

    public Date getIndate() {
        return indate;
    }

    public void setIndate(Date indate) {
        this.indate = indate;
    }

    public Date getModifiedTime() {
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getSupplierStatus() {
        return supplierStatus;
    }

    public void setSupplierStatus(Integer supplierStatus) {
        this.supplierStatus = supplierStatus;
    }

    public String getShopsName() {
        return shopsName;
    }

    public void setShopsName(String shopsName) {
        this.shopsName = shopsName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Integer getSupplierTypeform() {
        return supplierTypeform;
    }

    public void setSupplierTypeform(Integer supplierTypeform) {
        this.supplierTypeform = supplierTypeform;
    }

    public Integer getSupplierType() {
        return supplierType;
    }

    public void setSupplierType(Integer supplierType) {
        this.supplierType = supplierType;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public Long getCornerQuantity() {
        return cornerQuantity;
    }

    public void setCornerQuantity(Long cornerQuantity) {
        this.cornerQuantity = cornerQuantity;
    }

    public String getLabelName() {
        return labelName;
    }

    public void setLabelName(String labelName) {
        this.labelName = labelName;
    }

    public Long getSalesQuantity() {
        return salesQuantity;
    }

    public void setSalesQuantity(Long salesQuantity) {
        this.salesQuantity = salesQuantity;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getCategoryType() {
        return categoryType;
    }

    public void setCategoryType(String categoryType) {
        this.categoryType = categoryType;
    }

    public long getWpId() {
        return wpId;
    }

    public void setWpId(long wpId) {
        this.wpId = wpId;
    }

    public long getwId() {
        return wId;
    }

    public void setwId(long wId) {
        this.wId = wId;
    }

    public long getCurrentCnt() {
        return currentCnt;
    }

    public void setCurrentCnt(long currentCnt) {
        this.currentCnt = currentCnt;
    }

    public long getLockCnt() {
        return lockCnt;
    }

    public void setLockCnt(long lockCnt) {
        this.lockCnt = lockCnt;
    }

    public long getInTransitCnt() {
        return inTransitCnt;
    }

    public void setInTransitCnt(long inTransitCnt) {
        this.inTransitCnt = inTransitCnt;
    }

    public Integer getNumSupper() {
        return numSupper;
    }

    public void setNumSupper(Integer numSupper) {
        this.numSupper = numSupper;
    }

    public Integer getNumBrand() {
        return numBrand;
    }

    public void setNumBrand(Integer numBrand) {
        this.numBrand = numBrand;
    }

    public Integer getNumCategory() {
        return numCategory;
    }

    public void setNumCategory(Integer numCategory) {
        this.numCategory = numCategory;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getBalanceMoney() {
        return balanceMoney;
    }

    public void setBalanceMoney(Double balanceMoney) {
        this.balanceMoney = balanceMoney;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getPicUrlAll() {
        return picUrlAll;
    }

    public void setPicUrlAll(String picUrlAll) {
        this.picUrlAll = picUrlAll;
    }
}
